// import com.alibaba.druid.sql.ast.SQLExpr_ptr;
// import com.alibaba.druid.sql.ast.SQLReplaceable;
// import com.alibaba.druid.sql.ast.SQLStatementImpl;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;
#pragma once
#include "../SQLStatementImpl.h"
#include "../SQLReplaceable.h"

class SQLExprStatement : virtual public SQLStatementImpl, virtual public SQLReplaceable
{
public:
  SQLExpr_ptr expr;

  SQLExprStatement();

  SQLExprStatement(SQLExpr_ptr expr);
  SHAREDOBJECT(SQLExprStatement);
  //@Override
  void accept0(SQLASTVisitor_ptr visitor);

  SQLExpr_ptr getExpr();

  void setExpr(SQLExpr_ptr x);

  // @Override
  BOOL_ptr replace(SQLExpr_ptr expr, SQLExpr_ptr target);
};
